import Page
from Page import Music
from Base.Base import Base
from selenium.webdriver.common.by import By


class MusicPlayHistoryPage(Base):
    """
    音乐-播放历史页面
    """

    def __init__(self, driver):
        Base.__init__(self, driver)

        # 默认空数据配图
        self.history_null_img = (By.XPATH, Music.RESOURCE_ID.format("iv_tips"))

        # 默认空数据文字(暂无数据)
        self.history_null_text = (By.XPATH, Music.RESOURCE_ID.format("tv_tips"))

        # 清空历史记录按钮
        self.history_clear_history_btn = (By.XPATH, Music.RESOURCE_ID.format("tv_clear_all_history"))

        # 音乐列表标题, 默认选择第1个, 取值范围[1,5]
        self.history_list_music_title_text = (
            By.XPATH, Music.history_list_music_title_text.format(1))

        # 音乐列表封面, 默认选择第1个, 取值范围[1,5]
        self.history_list_music_cover_img = (
            By.XPATH, Music.history_list_music_cover_img.format(1))

        # 音乐列表歌手名, 默认选择第1个, 取值范围[1,5]
        self.history_list_music_singer_name_text = (
            By.XPATH, Music.history_list_music_singer_name_text.format(1))

    def get_history_list_music_title(self, index=1):
        """
        根据索引获取列表音乐的标题对象

        :param index: 标签的索引, 取值范围: 1~5
        :return: 元素对象
        """

        self.history_list_music_title_text = (By.XPATH, Music.history_list_music_title_text.format(index))
        return self.find_element_o(self.history_list_music_title_text)

    def get_history_list_music_cover(self, index=1):
        """
        根据索引获取列表音乐的封面对象

        :param index: 标签的索引, 取值范围: 1~5
        :return: 元素对象
        """

        self.history_list_music_cover_img = (By.XPATH, Music.history_list_music_cover_img.format(index))
        return self.find_element_o(self.history_list_music_cover_img)

    def get_history_list_music_singer_name(self, index=1):
        """
        根据索引获取列表音乐的歌手名对象

        :param index: 标签的索引, 取值范围: 1~5
        :return: 元素对象
        """

        self.history_list_music_singer_name_text = (
            By.XPATH, Music.history_list_music_singer_name_text.format(index))
        return self.find_element_o(self.history_list_music_singer_name_text)

    def click_list_music_cover(self, index=1):
        """
        点击指定索引值的列表音乐

        :param index: 索引值
        :return:
        """
        self.history_list_music_cover_img = (By.XPATH, Music.history_list_music_cover_img.format(index))
        self.click_element(self.history_list_music_cover_img)

    def click_clear_history(self):
        """
        点击清空播放历史

        :return:
        """
        self.click_element(self.history_clear_history_btn)


if __name__ == '__main__':
    pass
